#pragma once

#include "IGUIElement.h"
#include "GUIMenuItem.h"

class GUIMenu : public IGUIElement
{
public:
	GUIMenu();

	void Paint();
	void AddMenuItem( Pointer<GUIMenuItem> menuItem );
	void ClearMenuItems();
	bool ReceiveEvent( IEvent& event );
	void Title( std::string& title );
	std::string Title() const;
	void Font( std::string& font );
	void Font( HashedString& font );
	HashedString Font() const;
	void FontColor( unsigned int color );
	unsigned int FontColor() const;
	void Background( std::string& background );
	void Background( HashedString& background );
	void Location( Maths::Point<unsigned int>& location );
	void ParentLocation( Maths::Point<unsigned int>& location );
	HashedString Background() const;
protected:
	GUIMenuItem::Vector_t m_menuItems;
	HashedString m_background;
	HashedString m_font;
	unsigned int m_fontColor;
	std::string m_title;
};